
<!doctype html>
<html lang="en" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      
      
      
        <link rel="canonical" href="https://daptin.github.io/daptin/actions/default_actions/">
      
      <link rel="icon" href="../../images/theme-favicon.png">
      <meta name="generator" content="mkdocs-1.2.3, mkdocs-material-8.2.4">
    
    
      
        <title>Actions list - Daptin</title>
      
    
    
      <link rel="stylesheet" href="../../assets/stylesheets/main.2d9f7617.min.css">
      
        
        <link rel="stylesheet" href="../../assets/stylesheets/palette.e6a45f82.min.css">
        
      
    
    
    
      
        
        
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
        <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
      
    
    
      <link rel="stylesheet" href="../../css/theme_extra.css">
    
    <script>__md_scope=new URL("../..",location),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
    
      

    
    
  </head>
  
  
    
    
    
    
    
    <body dir="ltr" data-md-color-scheme="" data-md-color-primary="none" data-md-color-accent="none">
  
    
    
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" for="__drawer"></label>
    <div data-md-component="skip">
      
        
        <a href="#actions-list" class="md-skip">
          Skip to content
        </a>
      
    </div>
    <div data-md-component="announce">
      
    </div>
    
    
      

<header class="md-header" data-md-component="header">
  <nav class="md-header__inner md-grid" aria-label="Header">
    <a href="../.." title="Daptin" class="md-header__button md-logo" aria-label="Daptin" data-md-component="logo">
      
  <img src="../../images/theme-logo.png" alt="logo">

    </a>
    <label class="md-header__button md-icon" for="__drawer">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
    </label>
    <div class="md-header__title" data-md-component="header-title">
      <div class="md-header__ellipsis">
        <div class="md-header__topic">
          <span class="md-ellipsis">
            Daptin
          </span>
        </div>
        <div class="md-header__topic" data-md-component="header-topic">
          <span class="md-ellipsis">
            
              Actions list
            
          </span>
        </div>
      </div>
    </div>
    
    
    
      <label class="md-header__button md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
      </label>
      <div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
      <label class="md-search__icon md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
      </label>
      <nav class="md-search__options" aria-label="Search">
        
        <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
        </button>
      </nav>
      
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" data-md-scrollfix>
        <div class="md-search-result" data-md-component="search-result">
          <div class="md-search-result__meta">
            Initializing search
          </div>
          <ol class="md-search-result__list"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
    
    
  </nav>
  
</header>
    
    <div class="md-container" data-md-component="container">
      
      
        
          
        
      
      <main class="md-main" data-md-component="main">
        <div class="md-main__inner md-grid">
          
            
              
              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    


<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  <label class="md-nav__title" for="__drawer">
    <a href="../.." title="Daptin" class="md-nav__button md-logo" aria-label="Daptin" data-md-component="logo">
      
  <img src="../../images/theme-logo.png" alt="logo">

    </a>
    Daptin
  </label>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
      

  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_1" type="checkbox" id="__nav_1" >
      
      
      
      
        <label class="md-nav__link" for="__nav_1">
          Introduction
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="Introduction" data-md-level="1">
        <label class="md-nav__title" for="__nav_1">
          <span class="md-nav__icon md-icon"></span>
          Introduction
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../.." class="md-nav__link">
        About
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../faq.md" class="md-nav__link">
        FAQs
      </a>
    </li>
  

            
          
            
              
  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_1_3" type="checkbox" id="__nav_1_3" >
      
      
      
      
        <label class="md-nav__link" for="__nav_1_3">
          How to use
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="How to use" data-md-level="2">
        <label class="md-nav__title" for="__nav_1_3">
          <span class="md-nav__icon md-icon"></span>
          How to use
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../setting-up/installation/" class="md-nav__link">
        Download and Deploy
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../setting-up/settingup/" class="md-nav__link">
        Accessing the web dashboard
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

    
      
      
      

  
  
    
  
  
    
    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" checked>
      
      
      
      
        <label class="md-nav__link" for="__nav_2">
          Documentation
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="Documentation" data-md-level="1">
        <label class="md-nav__title" for="__nav_2">
          <span class="md-nav__icon md-icon"></span>
          Documentation
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_1" type="checkbox" id="__nav_2_1" >
      
      
      
      
        <label class="md-nav__link" for="__nav_2_1">
          User management
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="User management" data-md-level="2">
        <label class="md-nav__title" for="__nav_2_1">
          <span class="md-nav__icon md-icon"></span>
          User management
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../user-management/new-users/" class="md-nav__link">
        New User
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../user-management/access/" class="md-nav__link">
        Access Permissions
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../user-management/signin/" class="md-nav__link">
        Sign in API
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../setting-up/data_modeling/" class="md-nav__link">
        Data model
      </a>
    </li>
  

            
          
            
              
  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_3" type="checkbox" id="__nav_2_3" >
      
      
      
      
        <label class="md-nav__link" for="__nav_2_3">
          HTTP JSON API
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="HTTP JSON API" data-md-level="2">
        <label class="md-nav__title" for="__nav_2_3">
          <span class="md-nav__icon md-icon"></span>
          HTTP JSON API
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../apis/crud/" class="md-nav__link">
        CRUD API
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../apis/crud/" class="md-nav__link">
        Action API
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../apis/crud/" class="md-nav__link">
        Relation API
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../apis/crud/" class="md-nav__link">
        Aggregation API
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../apis/crud/" class="md-nav__link">
        State machine API
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../apis/crud/" class="md-nav__link">
        Metadata API
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
            
              
  
  
    
  
  
    
    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_4" type="checkbox" id="__nav_2_4" checked>
      
      
      
      
        <label class="md-nav__link" for="__nav_2_4">
          Actions
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="Actions" data-md-level="2">
        <label class="md-nav__title" for="__nav_2_4">
          <span class="md-nav__icon md-icon"></span>
          Actions
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../actions/" class="md-nav__link">
        What are actions
      </a>
    </li>
  

            
          
            
              
  
  
    
  
  
    <li class="md-nav__item md-nav__item--active">
      
      <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
      
      
        
      
      
        <label class="md-nav__link md-nav__link--active" for="__toc">
          Actions list
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <a href="./" class="md-nav__link md-nav__link--active">
        Actions list
      </a>
      
        

<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#default-actions" class="md-nav__link">
    Default actions
  </a>
  
    <nav class="md-nav" aria-label="Default actions">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#restart-daptin" class="md-nav__link">
    Restart daptin
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#generate-random-data" class="md-nav__link">
    Generate random data
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#export-data" class="md-nav__link">
    Export data
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#import-data" class="md-nav__link">
    Import data
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-file-to-a-cloud-store" class="md-nav__link">
    Upload file to a cloud store
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-xls" class="md-nav__link">
    Upload XLS
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-csv" class="md-nav__link">
    Upload CSV
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-schema" class="md-nav__link">
    Upload schema
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#download-schema" class="md-nav__link">
    Download Schema
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#become-administrator" class="md-nav__link">
    Become administrator
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#sign-up" class="md-nav__link">
    Sign up
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#sign-in" class="md-nav__link">
    Sign in
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#oauth-login" class="md-nav__link">
    Oauth login
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#oauth-login-response" class="md-nav__link">
    Oauth login response
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#add-data-exchange" class="md-nav__link">
    Add data exchange
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
    </ul>
  
</nav>
      
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../outcomes/" class="md-nav__link">
        Action OutComes
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../examples/" class="md-nav__link">
        Examples
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../features/enable-graphql/" class="md-nav__link">
        GraphQL
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../features/enable-data-auditing/" class="md-nav__link">
        Data Auditing
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../features/enable-multilingual-table/" class="md-nav__link">
        Multilingual Table
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../features/enable-smtp-imap/" class="md-nav__link">
        SMTP/IMPS server
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../state/machines/" class="md-nav__link">
        State tracking
      </a>
    </li>
  

            
          
            
              
  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_10" type="checkbox" id="__nav_2_10" >
      
      
      
      
        <label class="md-nav__link" for="__nav_2_10">
          OAuth
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="OAuth" data-md-level="2">
        <label class="md-nav__title" for="__nav_2_10">
          <span class="md-nav__icon md-icon"></span>
          OAuth
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../extend/oauth_connection/" class="md-nav__link">
        OAuth Connections
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../extend/oauth_token/" class="md-nav__link">
        OAuth Tokens
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../integrations/overview/" class="md-nav__link">
        3rd party API Integrations
      </a>
    </li>
  

            
          
            
              
  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_12" type="checkbox" id="__nav_2_12" >
      
      
      
      
        <label class="md-nav__link" for="__nav_2_12">
          Cloud store
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="Cloud store" data-md-level="2">
        <label class="md-nav__title" for="__nav_2_12">
          <span class="md-nav__icon md-icon"></span>
          Cloud store
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../cloudstore/" class="md-nav__link">
        Cloud store
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../cloudstore/cloudstore/" class="md-nav__link">
        Available cloud stores
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../cloudstore/cloudstore/" class="md-nav__link">
        Asset columns
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../cloudstore/cloudstore/" class="md-nav__link">
        Asset columns
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../cloudstore/sites/" class="md-nav__link">
        Sites
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../cloudstore/assetcolumns/" class="md-nav__link">
        Cloud store backed asset columns
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../websockets/websocket/" class="md-nav__link">
        Websockets
      </a>
    </li>
  

            
          
            
              
  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_15" type="checkbox" id="__nav_2_15" >
      
      
      
      
        <label class="md-nav__link" for="__nav_2_15">
          Sub-sites
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="Sub-sites" data-md-level="2">
        <label class="md-nav__title" for="__nav_2_15">
          <span class="md-nav__icon md-icon"></span>
          Sub-sites
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../subsite/subsite/" class="md-nav__link">
        Creating a subsite
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../subsite/grapes/" class="md-nav__link">
        Live editing a subsite
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../subsite/basic_auth/" class="md-nav__link">
        Basic Authentication
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
            
              
  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_16" type="checkbox" id="__nav_2_16" >
      
      
      
      
        <label class="md-nav__link" for="__nav_2_16">
          Internal Documents
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <nav class="md-nav" aria-label="Internal Documents" data-md-level="2">
        <label class="md-nav__title" for="__nav_2_16">
          <span class="md-nav__icon md-icon"></span>
          Internal Documents
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../data-modeling/data_storage/" class="md-nav__link">
        Data store format
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../extend/data_exchange/" class="md-nav__link">
        Data exchange and sync
      </a>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../streams/streams/" class="md-nav__link">
        Data streams
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

            
          
            
              
  
  
  
    <li class="md-nav__item">
      <a href="../../setting-up/configurations/" class="md-nav__link">
        Global Configuration
      </a>
    </li>
  

            
          
        </ul>
      </nav>
    </li>
  

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              
              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    

<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#default-actions" class="md-nav__link">
    Default actions
  </a>
  
    <nav class="md-nav" aria-label="Default actions">
      <ul class="md-nav__list">
        
          <li class="md-nav__item">
  <a href="#restart-daptin" class="md-nav__link">
    Restart daptin
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#generate-random-data" class="md-nav__link">
    Generate random data
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#export-data" class="md-nav__link">
    Export data
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#import-data" class="md-nav__link">
    Import data
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-file-to-a-cloud-store" class="md-nav__link">
    Upload file to a cloud store
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-xls" class="md-nav__link">
    Upload XLS
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-csv" class="md-nav__link">
    Upload CSV
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#upload-schema" class="md-nav__link">
    Upload schema
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#download-schema" class="md-nav__link">
    Download Schema
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#become-administrator" class="md-nav__link">
    Become administrator
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#sign-up" class="md-nav__link">
    Sign up
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#sign-in" class="md-nav__link">
    Sign in
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#oauth-login" class="md-nav__link">
    Oauth login
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#oauth-login-response" class="md-nav__link">
    Oauth login response
  </a>
  
</li>
        
          <li class="md-nav__item">
  <a href="#add-data-exchange" class="md-nav__link">
    Add data exchange
  </a>
  
</li>
        
      </ul>
    </nav>
  
</li>
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          <div class="md-content" data-md-component="content">
            <article class="md-content__inner md-typeset">
              
                


<h1 id="actions-list">Actions list</h1>
<p>Use actions to build work flows to carry out tasks like syncing data or emailing your users. You can also give access to these workflows to your users and restrict their access by altering their <strong>permission</strong>.</p>
<p>The following actions are available by default on a fresh instance. These actions cannot be deleted and will be recreated if deleted directly from the database.</p>
<p>Actions can use certain inbuilt methods to perform wide variety of operations.</p>
<h2 id="default-actions">Default actions</h2>
<h3 id="restart-daptin">Restart daptin</h3>
<p>Restarts daptin immediately and reads file system for new config and data files and apply updates to the APIs as necessary.</p>
<p>Takes about 15 seconds (async) to reconfigure everything.</p>
<div class="highlight"><pre><span></span><code>var request = require(&#39;request&#39;);

var headers = {
    &#39;Authorization&#39;: &#39;Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFydHBhcjFAZ21haWwuY29tIiwiZXhwIjoxNTIzMTgzMTA0LCJpYXQiOiIyMDE4LTA0LTA1VDE1OjU1OjA0LjYyMzU4NTYxKzA1OjMwIiwiaXNzIjoiZGFwdGluIiwianRpIjoiNmJhMmFhZjgtODBlNS00OGIwLTgwZmItMzEzYzk3Nzg0Y2E4IiwibmFtZSI6InBhcnRoIiwibmJmIjoxNTIyOTIzOTA0LCJwaWN0dXJlIjoiaHR0cHM6Ly93d3cuZ3JhdmF0YXIuY29tL2F2YXRhci9mNGJmNmI2Nzg5NGU5MzAzYjZlMTczMTMyZWE0ZTkwYVx1MDAyNmQ9bW9uc3RlcmlkIn0.eb5Vp00cHLeshZBtwJIyarJ6RQOLeVPj15n8ubVnGYo&#39;
};

var dataString = &#39;{&quot;attributes&quot;:{}}&#39;;

var options = {
    url: &#39;http://localhost:6336/action/world/restart_daptin&#39;,
    method: &#39;POST&#39;,
    headers: headers,
    body: dataString
};

function callback(error, response, body) {
    if (!error &amp;&amp; response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);
</code></pre></div>
<h3 id="generate-random-data">Generate random data</h3>
<p>Generate random data of any entity type to play around. Takes in a <code>count</code> parameter and generates that many rows. Daptin uses a fake data generator to generate quality random data for a wide variety of fields.</p>
<div class="highlight"><pre><span></span><code>var request = require(&#39;request&#39;);

var headers = {
    &#39;Authorization&#39;: &#39;Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFydHBhcjFAZ21haWwuY29tIiwiZXhwIjoxNTIzMTgzMTA0LCJpYXQiOiIyMDE4LTA0LTA1VDE1OjU1OjA0LjYyMzU4NTYxKzA1OjMwIiwiaXNzIjoiZGFwdGluIiwianRpIjoiNmJhMmFhZjgtODBlNS00OGIwLTgwZmItMzEzYzk3Nzg0Y2E4IiwibmFtZSI6InBhcnRoIiwibmJmIjoxNTIyOTIzOTA0LCJwaWN0dXJlIjoiaHR0cHM6Ly93d3cuZ3JhdmF0YXIuY29tL2F2YXRhci9mNGJmNmI2Nzg5NGU5MzAzYjZlMTczMTMyZWE0ZTkwYVx1MDAyNmQ9bW9uc3RlcmlkIn0.eb5Vp00cHLeshZBtwJIyarJ6RQOLeVPj15n8ubVnGYo&#39;,
};

var dataString = &#39;{&quot;attributes&quot;:{&quot;count&quot;:100,&quot;world_id&quot;:&quot;a82bcd84-db3a-4542-b0ef-80e81fc62f8e&quot;}}&#39;;

var options = {
    url: &#39;http://localhost:6336/action/world/generate_random_data&#39;,
    method: &#39;POST&#39;,
    headers: headers,
    body: dataString
};

function callback(error, response, body) {
    if (!error &amp;&amp; response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);
</code></pre></div>
<h3 id="export-data">Export data</h3>
<div class="admonition example">
<p>Export data as JSON dump. This will export for a single table if <code>table_name</code> param is specific, else it will export all data.</p>
</div>
<h3 id="import-data">Import data</h3>
<div class="admonition example">
<p>Import data from dump exported by Daptin. Takes in the following parameters:</p>
<ul>
<li>dump_file - json|yaml|toml|hcl</li>
<li>truncate_before_insert: default <code>false</code>, specify <code>true</code> to tuncate tables before importing</li>
</ul>
</div>
<h3 id="upload-file-to-a-cloud-store">Upload file to a cloud store</h3>
<div class="admonition example">
<p>Upload file to external store <a href="/cloudstore/cloudstore"><strong>cloud_store</strong></a>, may require <a href="/extend/oauth_connection.nd">oauth token and connection</a>.</p>
<ul>
<li>file: any</li>
</ul>
</div>
<h3 id="upload-xls">Upload XLS</h3>
<div class="admonition example">
<p>Upload xls to entity, takes in the following parameters:</p>
<ul>
<li>data_xls_file: xls, xlsx</li>
<li>entity_name: existing table name or new to create a new entity</li>
<li>create_if_not_exists: set <code>true</code> if creating a new entity (to avoid typo errors in above)</li>
<li>add_missing_columns: set <code>true</code> if the file has extra columns which you want to be created</li>
</ul>
</div>
<h3 id="upload-csv">Upload CSV</h3>
<div class="admonition example">
<p>Upload CSV to entity</p>
<ul>
<li>data_xls_file: xls, xlsx</li>
<li>entity_name: existing table name or new to create a new entity</li>
<li>create_if_not_exists: set <code>true</code> if creating a new entity (to avoid typo errors in above)</li>
<li>add_missing_columns: set <code>true</code> if the file has extra columns which you want to be created</li>
</ul>
</div>
<div class="admonition example">
<p class="admonition-title">Curl</p>
</div>
<div class="highlight"><pre><span></span><code>curl &#39;http://localhost:6336/action/world/upload_csv_to_system_schema&#39; \
-H &#39;Authorization: Bearer &lt;Token&gt;&#39; \
--data-binary &#39;{
                &quot;attributes&quot;: {
                    &quot;create_if_not_exists&quot;: true,
                    &quot;add_missing_columns&quot;: true,
                    &quot;data_csv_file&quot;: [{
                        &quot;name&quot;: &quot;&lt;file name&gt;.csv&quot;,
                        &quot;file&quot;: &quot;data:text/csv;base64,&lt;File contents base64 here&gt;&quot;,
                        &quot;type&quot;: &quot;text/csv&quot;
                    }],
                    &quot;entity_name&quot;: &quot;&lt;entity name&gt;&quot;
                  }
               }&#39;
</code></pre></div>
<div class="admonition example">
<p class="admonition-title">NodeJS Example</p>
<div class="highlight"><pre><span></span><code>import requests

headers = {
    &#39;Authorization&#39;: &#39;Bearer &lt;Token&gt;&#39;,
}

data =  &#39;{
            &quot;attributes&quot;: {
                &quot;create_if_not_exists&quot;: true,
                &quot;add_missing_columns&quot;: true,
                &quot;data_csv_file&quot;: [{
                    &quot;name&quot;: &quot;&lt;file name&gt;.csv&quot;,
                    &quot;file&quot;: &quot;data:text/csv;base64,&lt;File contents base64 here&gt;&quot;,
                    &quot;type&quot;: &quot;text/csv&quot;
                }],
                &quot;entity_name&quot;: &quot;&lt;entity name&gt;&quot;
              }
          }&#39;

response = requests.post(&#39;http://localhost:6336/action/world/upload_csv_to_system_schema&#39;, headers=headers, data=data)
</code></pre></div>
</div>
<h3 id="upload-schema">Upload schema</h3>
<div class="admonition example">
<p>Upload entity types or actions or any other config to daptin</p>
<ul>
<li>schema_file: json|yaml|toml|hcl</li>
</ul>
<p>restart, system_json_schema_update</p>
</div>
<h3 id="download-schema">Download Schema</h3>
<div class="admonition example">
<p>Download a JSON config of the current daptin instance. This can be imported at a later stage to recreate a similar instance. Note, this contains only the structure and not the actual data. You can take a <strong>data dump</strong> separately. Or of a particular entity type</p>
</div>
<h3 id="become-administrator">Become administrator</h3>
<div class="admonition example">
<p>Become an admin user of the instance. Only the first user can do this, as long as there is no second user.</p>
</div>
<h3 id="sign-up">Sign up</h3>
<div class="admonition example">
<p>Sign up a new user, takes in the following parameters</p>
<ul>
<li>name</li>
<li>email</li>
<li>password</li>
<li>passwordConfirm</li>
</ul>
<p>Creates these rows :</p>
<ul>
<li>a new user</li>
<li>a new usergroup for the user</li>
<li>user belongs to the usergroup</li>
</ul>
</div>
<h3 id="sign-in">Sign in</h3>
<div class="admonition example">
<p>Sign in essentially generates a [JWT token] issued by Daptin which can be used in requests to authenticate as a user.</p>
<ul>
<li>email</li>
<li>password</li>
</ul>
</div>
<h3 id="oauth-login">Oauth login</h3>
<div class="admonition example">
<p>Authenticate via OAuth, this will redirect you to the oauth sign in page of the oauth connection. The response will be handeled by <strong>oauth login response</strong></p>
</div>
<h3 id="oauth-login-response">Oauth login response</h3>
<div class="admonition example">
<p>This action is supposed to handle the oauth login response flow and not supposed to be invoked manually.</p>
<p>Takes in the following parameters (standard oauth2 params)
- code
- state
- authenticator</p>
<p>Creates :</p>
<ul>
<li>oauth profile exchange: generate a token from oauth provider</li>
<li>stores the oauth token + refresh token for later user</li>
</ul>
</div>
<h3 id="add-data-exchange">Add data exchange</h3>
<div class="admonition example">
<p>Add new data sync with google-sheets</p>
<ul>
<li>name</li>
<li>sheet_id</li>
<li>app_key</li>
</ul>
<p>Creates a data exchange</p>
</div>
<h1 id="list-of-inbuilt-methods">List of inbuilt methods</h1>
<p>These methods can be used in actions</p>
<table>
<thead>
<tr>
<th>Method Identifier</th>
<th>Method Inputs</th>
<th>Description</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>__become_admin</td>
<td>User auth token is required</td>
<td>tries to make the caller the administrator of the instance</td>
<td></td>
<td></td>
</tr>
<tr>
<td>cloudstore.file.delete</td>
<td>cloudstore id and path</td>
<td>delete a file at a path in cloud store</td>
<td></td>
<td></td>
</tr>
<tr>
<td>cloudstore.file.upload</td>
<td>cloudstore id, path and file blob</td>
<td>upload a file at a path in cloud store</td>
<td></td>
<td></td>
</tr>
<tr>
<td>cloudstore.folder.create</td>
<td>cloudstore id and path</td>
<td>create a folder at a path in cloud store</td>
<td></td>
<td></td>
</tr>
<tr>
<td>cloudstore.path.move</td>
<td>cloudstore id, old path and new path</td>
<td>move a file/folder or rename path in a cloud store</td>
<td></td>
<td></td>
</tr>
<tr>
<td>cloudstore.site.create</td>
<td>cloudstore id, site hostname and path on cloudstoure to host</td>
<td>create a new hugo/static site at a path in a cloud store</td>
<td></td>
<td></td>
</tr>
<tr>
<td>column.storage.sync</td>
<td>table id and column name</td>
<td>sync all changes to the asset column store with cloud store provider</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__upload_csv_file_to_entity</td>
<td>csv file and target entity name</td>
<td>upload data from CSV file to a table</td>
<td></td>
<td></td>
</tr>
<tr>
<td>world.column.delete</td>
<td>table id and column name</td>
<td>delete a column in a table</td>
<td></td>
<td></td>
</tr>
<tr>
<td>world.delete</td>
<td>table id</td>
<td>delete a table</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__download_cms_config</td>
<td>no inputs</td>
<td>exports the internal config as JSON, should never be accessible to public</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__enable_graphql</td>
<td>no inputs</td>
<td>enable the graphql endpoint by setting config to true , should never be accessible to public</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__csv_data_export</td>
<td>table id</td>
<td>export data from a table as csv, should never be accessible to public</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__data_export</td>
<td>table id</td>
<td>export data from a table as json, should never be accessible to public</td>
<td></td>
<td></td>
</tr>
<tr>
<td>acme.tls.generate</td>
<td>site id</td>
<td>generate a certificate for a site from LetsEncrypt</td>
<td></td>
<td></td>
</tr>
<tr>
<td>jwt.token</td>
<td>email and password of the user account</td>
<td>generates a JWT token valid for 4 days (configurable)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>oauth.token</td>
<td>oauth token id</td>
<td>returns the access token for the stored oauth token</td>
<td></td>
<td></td>
</tr>
<tr>
<td>password.reset.begin</td>
<td>email id</td>
<td>start password reset process by sending a password reset email to user from the configured mail server</td>
<td></td>
<td></td>
</tr>
<tr>
<td>password.reset.verify</td>
<td>email id, token, new password</td>
<td>verify password reset and let the user set a new password if token is valid</td>
<td></td>
<td></td>
</tr>
<tr>
<td>generate.random.data</td>
<td>table id</td>
<td>generate N rows fit for table, random data generated for each field</td>
<td></td>
<td></td>
</tr>
<tr>
<td>self.tls.generate</td>
<td>site id</td>
<td>create a self-generated SSL certificate for HTTPS enabled sites</td>
<td></td>
<td></td>
</tr>
<tr>
<td>cloud_store.files.import</td>
<td>table id, cloudstore id, path</td>
<td>import files from a cloud store to a table</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__data_import</td>
<td>file dump</td>
<td>import data from JSON/YAML dump direct to database</td>
<td></td>
<td></td>
</tr>
<tr>
<td>integration.install</td>
<td>integration id</td>
<td>Import all operations defined in the integration spec as actions</td>
<td></td>
<td></td>
</tr>
<tr>
<td>mail.servers.sync</td>
<td>no input</td>
<td>synchronise mail server interface</td>
<td></td>
<td></td>
</tr>
<tr>
<td>response.create</td>
<td>response_type</td>
<td>create a custom response to be returned</td>
<td></td>
<td></td>
</tr>
<tr>
<td>$network.request</td>
<td>Headers,Query,Body</td>
<td>call an external API</td>
<td></td>
<td></td>
</tr>
<tr>
<td>oauth.client.redirect</td>
<td>authenticator</td>
<td>send the user to the 3rd party oauth login page</td>
<td></td>
<td></td>
</tr>
<tr>
<td>oauth.login.response</td>
<td>authenticator, state, user id</td>
<td>handle the response code from 3rd party login</td>
<td></td>
<td></td>
</tr>
<tr>
<td>oauth.profile.exchange</td>
<td>authenticator, profileUrl, token</td>
<td>exchange the token from 3rd party oauth service for the user profile</td>
<td></td>
<td></td>
</tr>
<tr>
<td>otp.generate</td>
<td>email/mobile</td>
<td>generate a TOTP for the account (can be sent via SMS/EMAIL)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>otp.login.verify</td>
<td>email/mobile and otp code</td>
<td>verify a TOTP code presented by the user, generate a JWT token if valid</td>
<td></td>
<td></td>
</tr>
<tr>
<td>world.column.rename</td>
<td>table id, column name, new column name</td>
<td>try to rename a table column</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__restart</td>
<td>no input</td>
<td>reload all configurations and settings (after changes in config/site/cloudstore etc)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>site.file.get</td>
<td>site id, file path</td>
<td>get file contents at the certain path</td>
<td></td>
<td></td>
</tr>
<tr>
<td>site.file.list</td>
<td>site id, path</td>
<td>get list of contents of a folder</td>
<td></td>
<td></td>
</tr>
<tr>
<td>site.storage.sync</td>
<td>site id</td>
<td>sync down all changes from the storage provider</td>
<td></td>
<td></td>
</tr>
<tr>
<td>__upload_xlsx_file_to_entity</td>
<td>xlsx file, table id</td>
<td>import XLS and insert rows into a table</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>

              
            </article>
          </div>
        </div>
        
      </main>
      
        <footer class="md-footer">
  
    <nav class="md-footer__inner md-grid" aria-label="Footer">
      
        
        <a href="../actions/" class="md-footer__link md-footer__link--prev" aria-label="Previous: What are actions" rel="prev">
          <div class="md-footer__button md-icon">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
          </div>
          <div class="md-footer__title">
            <div class="md-ellipsis">
              <span class="md-footer__direction">
                Previous
              </span>
              What are actions
            </div>
          </div>
        </a>
      
      
        
        <a href="../outcomes/" class="md-footer__link md-footer__link--next" aria-label="Next: Action OutComes" rel="next">
          <div class="md-footer__title">
            <div class="md-ellipsis">
              <span class="md-footer__direction">
                Next
              </span>
              Action OutComes
            </div>
          </div>
          <div class="md-footer__button md-icon">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
          </div>
        </a>
      
    </nav>
  
  <div class="md-footer-meta md-typeset">
    <div class="md-footer-meta__inner md-grid">
      <div class="md-copyright">
  
  
    Made with
    <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
      Material for MkDocs
    </a>
  
</div>
      
    </div>
  </div>
</footer>
      
    </div>
    <div class="md-dialog" data-md-component="dialog">
      <div class="md-dialog__inner md-typeset"></div>
    </div>
    <script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../../assets/javascripts/workers/search.bd0b6b67.min.js"}</script>
    
    
      <script src="../../assets/javascripts/bundle.5413a266.min.js"></script>
      
    
  </body>
</html>